G_TYPE_LIST_MODEL,
GTK_PARAM_READABLE));
+ /**
+ * GtkFileChooser:shortcut-folders:
+ *
+ * A #GListModel containing the shortcut folders that have been
+ * added with gtk_file_chooser_add_shortcut().
+ *
+ * The returned object should not be modified. It may
+ * or may not be updated for later changes.
+ */
+ g_object_interface_install_property (iface,
+ g_param_spec_object ("shortcut-folders",
+ P_("Shortcut Folders"),
+ P_("List model of shortcut folders"),
+ G_TYPE_LIST_MODEL,
+ GTK_PARAM_READABLE));
+
/**
* GtkFileChooser:create-folders:
*
case GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE:
case GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS:
case GTK_FILE_CHOOSER_PROP_FILTERS:
+ case GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS:
g_object_get_property (G_OBJECT (button->chooser), pspec->name, value);
break;
g_object_class_override_property (klass,
GTK_FILE_CHOOSER_PROP_FILTERS,
"filters");
+ g_object_class_override_property (klass,
+ GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS,
+ "shortcut-folders");
}
/**
GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE,
GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS,
GTK_FILE_CHOOSER_PROP_FILTERS,
- GTK_FILE_CHOOSER_PROP_LAST = GTK_FILE_CHOOSER_PROP_FILTERS
+ GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS,
+ GTK_FILE_CHOOSER_PROP_LAST = GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS
} GtkFileChooserProp;
void _gtk_file_chooser_install_properties (GObjectClass *klass);
g_value_set_object (value, impl->filters);
break;
+ case GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS:
+ g_value_take_object (value, gtk_file_chooser_get_shortcut_folders (GTK_FILE_CHOOSER (impl)));
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
GtkFileChooserWidget *impl = GTK_FILE_CHOOSER_WIDGET (chooser);
gtk_places_sidebar_add_shortcut (GTK_PLACES_SIDEBAR (impl->places_sidebar), file);
+
+ g_object_notify (G_OBJECT (chooser), "shortcut-folders");
+
return TRUE;
}
GtkFileChooserWidget *impl = GTK_FILE_CHOOSER_WIDGET (chooser);
gtk_places_sidebar_remove_shortcut (GTK_PLACES_SIDEBAR (impl->places_sidebar), file);
+
+ g_object_notify (G_OBJECT (chooser), "shortcut-folders");
+
return TRUE;
}